Exportando uma Tabela ou uma Query para uma página HTML
Esta dica ensina a exportar os dados de uma table/query para uma página html. A forma ensinada abaixo é uma maneira bem rústica de fazer isto, mas bastante usada ainda. Ele simplesmente lê o conteúdo do dataset e exportamos para um arquivo texto com alguns códigos para gerar o arquivo html. Depois de gerar o arquivo basta abri-lo em seu browser. Vamos ver e entender o código abaixo.
Primeiramente abra o delphi e inicie uma nova aplicação, coloque uma table e um botão no seu formulário. Agora sete a propriedade DatabaseName da Table1 para "DBDEMOS" e a propriedade TableName para "Animals.dbf". Após configurada a table, coloque no evento onclick do botão o seguinte código:
procedure TForm1.Button1Click(SEnder: TObject);
var
i, j, w: integer;
linha: string;
htmlfile: TextFile;
const
wrap=#13+#10; {estamos declarando esta constante com o valor da tecla enter ...}
begin
AssignFile(HtmlFile, 'c:\htmlfile.html');
Rewrite(HtmlFile);
writeln(htmlfile, '<html><head>' + wrap + {estamos gerando o inicio do arquivo html}
'<title>'+ Table1.name + '</title>' + wrap +
'</head>' + wrap + '<body bgcolor="#FFFBCB">' +
wrap + '<table border =1>' + wrap); {Nesse ponto iremos gerar a tabela html}
with table1 do
begin
for w:=0 to fieldCount - 1 do
writeln(htmlfile, '<td>' + (Fields[w].FieldName) + '</td>');
{Na linha de cima iremos gerar uma coluna em html para cada campo da table 1 com os seus nomes}
table1.first;
for i:=0 to recordcount-1 do
begin
linha:='<tr>'+wrap;
for j:=0 to fieldcount-1 do
begin
linha:= linha + '<td>' + Fields[j].AsString + '</td>';
{Este código pega o valor dos campos de cada linha da table e joga na tabela de html}
end;
writeln(htmlfile, linha);
writeln(htmlfile, '</tr>');
next;
end;
end;
writeln(htmlfile, '</body></html>'); {Finaliza o arquivo html}
CloseFile(htmlfile);
end;
Salve a sua aplicação, execute-a (F9) e aperte o botão. Então, ao final de tudo procure o arquivo HtmlFile.html na pasta "c:\" e execute-o. Assim verá a página html gerada com o valor passado pela table. Para aplicar essa técnica com a query, é só trocar para query onde usamos a table.
Feito por Marco Antonio